package com.ayq.activiti.common.util;//package org.ezca.cloud.common.base;
//
//import com.alibaba.fastjson.annotation.JSONField;
//import com.fasterxml.jackson.annotation.JsonIgnore;
//import com.google.common.collect.Maps;
//import io.swagger.annotations.ApiModel;
//import io.swagger.annotations.ApiModelProperty;
//
//import java.io.Serializable;
//import java.util.Map;
//import java.util.ResourceBundle;
//
//@ApiModel(value = "响应结果1")
//public class SendResult<T> implements Serializable {
//    private static final long serialVersionUID = -6190689122701100763L;
//    /**
//     * 响应编码
//     */
//    @ApiModelProperty(value = "响应编码:0-请求处理成功")
//    private int code = 0;
//    /**
//     * 提示消息
//     */
//    @ApiModelProperty(value = "提示消息")
//    private String message;
//
//    /**
//     * 请求路径
//     */
//    @ApiModelProperty(value = "请求路径")
//    private String path;
//
//    /**
//     * 响应数据
//     */
//    @ApiModelProperty(value = "响应数据")
//    private T data;
//
//    /**
//     * http状态码
//     */
//    private int httpStatus;
//
//    /**
//     * 附加数据
//     */
//    @ApiModelProperty(value = "附加数据")
//    private Map<String, Object> extra;
//
//    /**
//     * 响应时间
//     */
//    @ApiModelProperty(value = "响应时间")
//    private long timestamp = System.currentTimeMillis();
//
//    public SendResult() {
//        super();
//    }
//
//    public static SendResult success() {
//        return new SendResult();
//    }
//
//    public int getCode() {
//        return code;
//    }
//
//    public String getMessage() {
//        return message;
//    }
//
//    public String getPath() {
//        return path;
//    }
//
//    public T getData() {
//        return data;
//    }
//
//    public Map<String, Object> getExtra() {
//        return extra;
//    }
//
//    public long getTimestamp() {
//        return timestamp;
//    }
//
//    @JSONField(serialize = false, deserialize = false)
//    @JsonIgnore
//    public int getHttpStatus() {
//        return httpStatus;
//    }
//
//    @JSONField(serialize = false, deserialize = false)
//    @JsonIgnore
//    public boolean isOk() {
//        return this.code == ResCode.OK.getCode();
//    }
//
//
//    public static SendResult response(int code) {
//        if(code == 0) {
//            return new Ret().code(ResCode.OK.getCode()).msg(ResCode.OK.getMessage());
//        }else {
//            return new Ret().code(ResCode.FAIL.getCode()).msg(ResCode.FAIL.getMessage());
//        }
//    }
//
//
//    public static SendResult responseBySqlResult(int code) {
//        if(code == 0) {
//            return new Ret().code(ResCode.FAIL.getCode()).msg(ResCode.FAIL.getMessage());
//        }else {
//            return new Ret().code(ResCode.OK.getCode()).msg(ResCode.OK.getMessage());
//        }
//    }
//
//    public static SendResult ok() {
//        return new Ret().code(ResCode.OK.getCode()).msg(ResCode.OK.getMessage());
//    }
//
//    public static SendResult fail() {
//        return new Ret().code(ResCode.FAIL.getCode()).msg(ResCode.FAIL.getMessage());
//    }
//
//    public SendResult code(int code) {
//        this.code = code;
//        return this;
//    }
//
//    public SendResult msg(String message) {
//        this.message = i18n(ResCode.getResultEnum(this.code).getMessage(), message);
//        return this;
//    }
//
//    public SendResult data(T data) {
//        this.data = data;
//        return this;
//    }
//
//    public SendResult path(String path) {
//        this.path = path;
//        return this;
//    }
//
//    public SendResult httpStatus(int httpStatus) {
//        this.httpStatus = httpStatus;
//        return this;
//    }
//
//    public SendResult put(String key, Object value) {
//        if (this.extra == null) {
//            this.extra = Maps.newHashMap();
//        }
//        this.extra.put(key, value);
//        return this;
//    }
//
//    @Override
//    public String toString() {
//        return "ResultBody{" +
//                "code=" + code +
//                ", message='" + message + '\'' +
//                ", path='" + path + '\'' +
//                ", data=" + data +
//                ", httpStatus=" + httpStatus +
//                ", extra=" + extra +
//                ", timestamp=" + timestamp +
//                '}';
//    }
//
//    /**
//     * 错误信息配置
//     */
//    @JSONField(serialize = false, deserialize = false)
//    @JsonIgnore
//    private static ResourceBundle resourceBundle = ResourceBundle.getBundle("error");
//
//    /**
//     * 提示信息国际化
//     *
//     * @param message        message
//     * @param defaultMessage defaultMessage
//     * @return String
//     */
//    @JSONField(serialize = false, deserialize = false)
//    @JsonIgnore
//    private static String i18n(String message, String defaultMessage) {
//        return resourceBundle.containsKey(message) ? resourceBundle.getString(message) : defaultMessage;
//    }
//
//}
